# PQS.mw
# 
# Gillian Forsyth, Aleksandra Plochocka, Robyn Shuttleworth

The script PQS.mw utilises the equation for mCherry expression (see appendix 1 - eq9) which is dependent on the PQS signalling molecule to produce various plots
# 
# Plot 1 - High-low segregation in mCherry expression
# Plot 2 - Sigmodial signal-response to varying PQS concentration
# Plot 3 - Varying number of promoters
# Plot 4 - Varying promoter numbers - fold increases
# Plot 5 - Varying receptor numbers
# Plot 6 - Varying receptor numbers - fold increases
> Plot 7 - Varying Km# 
# 
# 
# 
> with(plots):
> y:=(K*(x^2)*P)/((kD1*kD2/R+(x^2))):

> b:=subs(kD1=2,kD2=0.21, R=4.98,P=0.083,K=1/60,y):
> gfp2a:=b*t:
> gfp2:=b:
                                       2 
                       0.001383333333 x  
                       ------------------
                                        2
                       0.08433734942 + x 
> eq3a:=subs(x=1,gfp2a):
> eq8a:=subs(x=0.1,gfp2a):
> eq13a:=subs(x=0.01,gfp2a):
> eq14a:=subs(x=0.001,gfp2a):
> eq15a:=subs(x=10,gfp2a):
> eq16a:=subs(x=100,gfp2a):
> eq3:=subs(x=1,gfp2):
> eq8:=subs(x=0.1,gfp2):
> eq13:=subs(x=0.01,gfp2):
> eq14:=subs(x=0.001,gfp2):
> eq15:=subs(x=10,gfp2):
> eq16:=subs(x=100,gfp2):

> #Plot 1 - High-low segregation in mCherry expression
plot([eq13a,eq8a,eq3a,eq15a],
   t=0..1200,
   color=["HotPink","ForestGreen","IndianRed","SteelBlue"],
   labels=["time (s)","mCherry (&mu;M) "],
   labeldirections=[horizontal,vertical],
   legend =[typeset("0.01 "),typeset("0.1"),typeset("1"),typeset("10")],
   legendstyle=[location=right,font=[Arial,roman,15]],
   labelfont=[Arial,roman,15],
   thickness=5);


> #plot 2 - Sigmodial signal-response to varying PQS concentration
k:=[[0.001,eq14],[0.01,eq13],[0.1,eq8],[1,eq3],[10,eq15],[100,eq16]]:
> display({
> 
> plot([gfp2],
>   x=0.001..0.1,
>   style="line",
>   numpoints=10000,
>   thickness=4,
>   color="DarkRed"),
> 
> plot([gfp2],
>   x=1..100,
>   style="line",
>   numpoints=10000,
>   thickness=4,
>   color="DarkRed"),
> 
> pointplot(k[3..4],
>   connect=true,
>   linestyle=dash,
>   thickness=4,
>   color="DarkRed"),
> 
> pointplot(k,
>   axis[1]=[mode=log],
>   color="DarkRed",
>   symbolsize=50,
>   symbol=soliddiamond,
>   labels=["PQS (&mu;M)","mCherry Gradient"],    
>   labeldirections=[horizontal,vertical], 
>   labelfont=[Arial,roman,15])});


> y := K*x^2*P/(k4*k2*d^2/(k3*k1*k^2*R)+x^2);
> eq1:= subs({k1=4.76/60,k2=1/60,k3=1/60,k4=2/60,k=0.001/60,d=0.001/60,R=5,P=0.0415,K=1/60}, y):
> eq2:= subs({k1=4.76/60,k2=1/60,k3=1/60,k4=2/60,k=0.001/60,d=0.001/60,R=5,P=0.0498,K=1/60}, y):
> eq3:= subs({k1=4.76/60,k2=1/60,k3=1/60,k4=2/60,k=0.001/60,d=0.001/60,R=5,P=0.0581,K=1/60}, y):
> eq4:= subs({k1=4.76/60,k2=1/60,k3=1/60,k4=2/60,k=0.001/60,d=0.001/60,R=5,P=0.0664,K=1/60}, y):
> eq5:= subs({k1=4.76/60,k2=1/60,k3=1/60,k4=2/60,k=0.001/60,d=0.001/60,R=5,P=0.0748,K=1/60}, y):
> eq6:= subs({k1=4.76/60,k2=1/60,k3=1/60,k4=2/60,k=0.001/60,d=0.001/60,R=5,P=0.0831,K=1/60}, y):
> #Plot 3 - varying promoter numbers
plot([eq1,eq2,eq3,eq4,eq5,eq6], 
   x = 0.001 .. 100, 
   style=line,
   numpoints=10000,
   title="Varying Promoter",
   legend =[typeset("P = 25"),typeset("P = 30"),typeset("P = 35"),typeset("P = 40"),typeset("P = 45"),typeset     ("P = 50")],
   labels=[PQS_log_scale,dmCherry/dt],
   axis[1]=[mode=log]);

> eq7:= subs({k1=4.76/60,k2=1/60,k3=1/60,k4=2/60,k=0.001/60,d=0.001/60,R=5,P=0.498,K=1/60}, y):
> eq8:= subs({k1=4.76/60,k2=1/60,k3=1/60,k4=2/60,k=0.001/60,d=0.001/60,R=5,P=0.0997,K=1/60}, y):
> eq9:= subs({k1=4.76/60,k2=1/60,k3=1/60,k4=2/60,k=0.001/60,d=0.001/60,R=5,P=0.0498,K=1/60}, y):
> eq10:= subs({k1=4.76/60,k2=1/60,k3=1/60,k4=2/60,k=0.001/60,d=0.001/60,R=5,P=0.0249,K=1/60}, y):
> eq11:= subs({k1=4.76/60,k2=1/60,k3=1/60,k4=2/60,k=0.001/60,d=0.001/60,R=5,P=0.00498,K=1/60}, y):
> #plot 4 - varying promoter numbers - fold increases
plot([eq7,eq8,eq9,eq10,eq11], 
  x = 0.001 .. 100, 
  style=line, 
  numpoints=10000,
  labels=["PQS [&mu;M]","Rate mCherry Expression"],
  labeldirections=[horizontal,vertical],
  axis[1]=[mode=log],thickness=5);

> eq12:= subs({k1=4.76/60,k2=1/60,k3=1/60,k4=2/60,k=0.001/60,d=0.001/60,R=3.32,P=0.05,K=1/60}, y):
> eq13:= subs({k1=4.76/60,k2=1/60,k3=1/60,k4=2/60,k=0.001/60,d=0.001/60,R=3.74,P=0.05,K=1/60}, y):
> eq14:= subs({k1=4.76/60,k2=1/60,k3=1/60,k4=2/60,k=0.001/60,d=0.001/60,R=4.15,P=0.05,K=1/60}, y):
> eq15:= subs({k1=4.76/60,k2=1/60,k3=1/60,k4=2/60,k=0.001/60,d=0.001/60,R=4.57,P=0.05,K=1/60}, y):
> eq16:= subs({k1=4.76/60,k2=1/60,k3=1/60,k4=2/60,k=0.001/60,d=0.001/60,R=4.98,P=0.05,K=1/60}, y):
> #plot 5 - varying receptor numbers
plot([eq12,eq13,eq14,eq15,eq16], 
   x = 0.001 .. 100, 
   style=line, 
   numpoints=10000,
   title="Varying Receptor", 
   legend =[typeset("R = 2000"), typeset("R = 2250"),typeset("P = 2500"),typeset("P = 2750"),typeset("P = 3000")],
   labels=[PQS_log_scale,dmCherry/dt],
   axis[1]=[mode=log]);

> eq17:= subs({k1=4.76/60,k2=1/60,k3=1/60,k4=2/60,k=0.001/60,d=0.001/60,R=0.415,P=0.05,K=1/60}, y):
> eq18:= subs({k1=4.76/60,k2=1/60,k3=1/60,k4=2/60,k=0.001/60,d=0.001/60,R=2.08,P=0.05,K=1/60}, y):
> eq19:= subs({k1=4.76/60,k2=1/60,k3=1/60,k4=2/60,k=0.001/60,d=0.001/60,R=4.15,P=0.05,K=1/60}, y):
> eq20:= subs({k1=4.76/60,k2=1/60,k3=1/60,k4=2/60,k=0.001/60,d=0.001/60,R=8.31,P=0.05,K=1/60}, y):
> eq21:= subs({k1=4.76/60,k2=1/60,k3=1/60,k4=2/60,k=0.001/60,d=0.001/60,R=41.5,P=0.05,K=1/60}, y):
> #Plot 6 - Varying receptor numbers - fold increases
plot([eq17,eq18,eq19,eq20,eq21], 
   x = 0.001 .. 100,
   style=line,
   numpoints=10000,
   title="Varying Receptor folds",
   legend =[typeset("R = 250"),typeset("R = 1250"),typeset("P = 2500"),typeset("P = 5000"),typeset("P = 25000")],
   labels=[PQS_log_scale,dmCherry/dt],
   axis[1]=[mode=log]);

> eq22:= subs({k1=4.76/60,k2=10/60,k3=1/60,k4=2/60,k=0.001/60,d=0.001/60,R=5,P=0.05,K=1/60}, y):
> eq23:= subs({k1=4.76/60,k2=2/60,k3=1/60,k4=2/60,k=0.001/60,d=0.001/60,R=5,P=0.05,K=1/60}, y):
> eq24:= subs({k1=4.76/60,k2=1/60,k3=1/60,k4=2/60,k=0.001/60,d=0.001/60,R=5,P=0.05,K=1/60}, y):
> eq25:= subs({k1=4.76/60,k2=0.5/60,k3=1/60,k4=2/60,k=0.001/60,d=0.001/60,R=5,P=0.05,K=1/60}, y):
> eq26:= subs({k1=4.76/60,k2=0.1/60,k3=1/60,k4=2/60,k=0.001/60,d=0.001/60,R=5,P=0.05,K=1/60}, y):
> #Plot 7 - Varying Km
plot([eq22,eq23,eq24,eq25,eq26], 
   x = 0.001 .. 100,
   style=line,
   numpoints=10000,
   title="Varying Km",
   legend =[typeset("Km = +10 fold"),typeset("Km = +2 fold"),typeset("Km = standard"),typeset("Km = -2 fold"),typeset("Km = -10 fold")],
   labels=[PQS_log_scale,dmCherry/dt],
   axis[1]=[mode=log]);

> 
> 
# 
